LXC, OpenVZ, and Vserver are not really virtualization. Instead, they are more like containerization (or zones), which can be done at system level (life begins at the init program), or application level (life begins at the app startup script). If all you need is getting a special mix of libraries and/or packages to make this app work, containerization, if not plain old vanilla chroot (BTDT), is all you need. Everything runs on the same kernel that supports cgroups (but plain old chroot can still do a few things even without cgroups).
OTOH, if security is needed, true virtualization (KVM, VirtualBox, VMware) is what you need.
If running a 64-bit app on a 32-bit system or kernel is needed, then you need QEMU.