Hi Sally, welcome aboard!
To answer your question properly, I'd need to know exactly where you are sailing. For most cruises originating out of the United States ports (Port Canaveral, Miami, Galveston, Los Angeles), you'll probably only need your child's birth certificate. Obviously if you sail on a Mediterranean cruise out of Spain, you'd best get your son's passport ordered soon. However, no matter the itinerary, I'd highly recommend a passport if you can get it in time for your cruise.
On Disney Cruise Line's website, there are specifics about each itinerary and the travel
documentation required for each. You'll see that for most of the cruises you'll be fine with just your 4-year old's birth certificate.
My two young children got passports for the first time before we set sail on our first Disney cruise, and I like to have that extra insurance that should something happen and we miss the ship in a foreign port, we'd not have too much trouble getting back home since we have passports with us.
I hope that helps, Sally. Have fun planning your cruise! Your son is going to have the time of his life with Captain Mickey on the high seas!