There is more then one answer to that question. If you are travaleing before June 1,2009 a Passport is not required by law for sea travel but it is a very good idea to have because God forbid and emergency comes up and you need to depart ASAP via Plane you will need a passport.
However if you are traveling after June 1,2009 the details are as follows:
June 1, 2009: ALL persons*, including U.S. citizens and Canadian citizens over the age of 15, traveling between the U.S. and Canada, Mexico, Central and South America, the Caribbean, and Bermuda by land or sea (including ferries), will be required to present a valid passport or other document such as passport cards, NEXUS or SENTRI cards, or driver's licenses that meet certain security requirements. Children 15 years of age and younger are exempt from the passport requirement, although they will be required to have copies of their birth certificate.
at 5:56 PM on Mar. 11, 2009