First, this is why you want to book with an agent - they have access to contacts you don't have. I would never trust anything the people say when you call into the cruise line. The number you call goes into a call center and those people are only there to sell you cruises. If you're not booking with an agent, then if I were you, I would talk to someone in the guest relations department and not in the reservation department. Or better yet, since these things change all the time, I would contact Homeland Security (DHS) and ask them since they are the ones who make the rules.
According to the current rules, any identification used for a cruise cannot expire within 6 months after you return back into the U.S. But whether she needs her passport or just her green card along with a driver's license, I would have to research this as I'm not sure on the current policies. But either way, I would definitely get her passport renewed immediately. As I always tell foreigners when traveling like this, take everything that you need to come into the U.S., including your passport, green card, and any other identification as you never know what you'll need, so it's better to have it and not need it, than need it and not have it.