The only way I can see to do this is by using two separate sound cards. At the moment, I'm running my internal on-board sound to my 7.1 surround receiver for movies, and have an external sound card which plugs in through USB, hooked up to studio monitor speakers for mixing.
I'd search for software that's capable of handling two separate sound sources, but in all honesty, I think you'll need two sound cards for this to work. One could go to your speakers, and the other to your headphones.