I had lots of trouble a few years back when I had an Epson. I had been printing with great results on matte paper, and then the colors got really off even though I was using the same settings. I finally resorted to paying around $10 on ebay for a custom printer profile. Once I received it I selected that profile in Photoshop, and then printed. It was amazing it was so accurate!
Basically printers can get off and need calibrated just like monitors can. When you buy a custom printer profile they give you an image that is a bunch of squares in all sorts of colors, you print that on your printer, send it in the mail to them, they scan it into their profile maker software and will email you a printer profile for your printer based upon how its actually printing, instead of what its supposed to be printing.
ETA: I only see one on
Ebay for $27. Searching online I see a place for $25:
http://www.profilesbyrick.com/ Hopefully you can find something cheaper.