Universal Turing machine and virtualization technology
Yes and no. Essentially because of the existence of universal Turing machines, you could write a VMWare-like system that used software to simulate the CPU. In reality, though, that would be unbearably slow, so it's not how these products actually work. Instead, they run the code directly on the CPU, in a carefully controlled and hardware-supported environment.