Wow you really want to spend 400 bucks? You must love her a lot
It depends what kind of music she does, too. Get a sequencer. There is free stuff all over the internet. If you want a professional Program get Cubase SX. You can record many MIDItracks and 24 Audiotracks on there, and if your girlfriend got a soundcard on her PC she can do a lot with this software.
If I was in your place I would download, download, download. Try to spend as little as possible on the software. You might try to get a software sampler, if she wants to do electronic music too. If she just wants to record her piano parts into a sequencer, burn it on CD etc., I would recommend spending the 400 bucks on a good keyboard, if you already have got the software for free. She will need a MIDI interface on her PC soundcard, and analog inputs and outputs; if possible digital SPDIF ins/ outs, but thats not a must...
There is a wide range of keyboards. Masterkeyboards are without any internal sounds, its just the keys, and you have to be able to work with the software before you can play a single sound. I use an Evolution MK 149 Masterkeyboard, bought it a few years ago for about 150 bucks, they are really cheap because its just the keys. It needs to be equipped weith a pitchbend controller, a modulation wheel, amongst other logical things like volume and sound bank control. It also doesnt have an amplifier or speakers, its just the keyboard - use the output of your soundcard and connect that with the input of a mixer etc. or in your case, the Hifi (if it has AUX or extra CD inputs that you can use with a Cinch connection from the soundcard) - which is a better solution than computer speakers.
I also use a big 88keys - digital piano by Yamaha, because I need all the range of a real piano. But a good 88keys Masterkeyboard will be around 2000 bucks, so thats out of question. All the cheaper solutions we are talking about ofer 5 octaves. Limited Range, but its the typical keyboard one would use to play synthsizer sounds, or funky piano, or trigger a sampler.
However, maybe you prefer to go for one of those boombox-allinone-solutions. Sure, they need MIDI In, Out and Thru. Stereo Audio Outputs. And a pedal Input. If you decide for a keyboard, dont be blended by extra features like a sequencer in the keyboard - thats nice to play with, but the software can do it better anyway. Dont be blended by special effects or sythsizing sound method XYZ. Look for good sounds, maybe some effects, good inputs and outputs (possibly stuff like extra phone output or microphone input and such) and check the quality of the Attack when you hit the keyboard (compare different keyboards, play on them and see how it feels like, you will realize there are differences). If you go for the allinone solution there should also be a built-in amp and speakers so she can actually take the keyboard to your place or compose a song while you drive her to the Burger King. Later she can record it at home. With a masterkeyboard without internal sounds, that is not possible.
There are lots of models on the market, the typical rather expensive ones being Korg, Yamaha, Roland, etc. Go to a music store and ask what they have for special deals. Dont forget to buy MIDI Cables, and a pedal would make it perfect. But get the software first! You can ask the guy in the music shop and tell him which software you have then.
Always remember it doesnt just depend on the equipment. I know a huge artist who is working with turntables, a small Keyboard, and a software sequencer called ACID.
I guess she does not want to do house music / dance music? this would rather include programming and one of those little MIDI boxes you play around with, the Roland 303/ 808/ 909 stuff. Butr since she rather seems to play piano, check the piano sound if you get the allinone-solution. For 400 bucks it will not sound like a Bösendorfer, but there might be huge differences in quality. Also check the rest of the sounds, like strings, bass etc.
Also download software synthesizers, if she wants to play with a few electronic sounds on PC.
happy Bday!