It began listing early on Sunday morning, prompting authorities to sound a general alert and rush rescue vessels to the area, coastguard commander Admiral Wilfredo Tamayo told reporters.
A total of 870 passengers were rescued and brought ashore on other ships, he said. Eighty-eight were unaccounted for but most were likely to have been rescued by a fleet of fishing vessels and small boats that also came to the area, he said.
Three people died due to exposure, Tamayo said.
The weather was clear at the time, but the crew had reported problems with the generator, he added.
Ferries are an important mode of transport in the Philippines, an archipelago of more than 7,000 islands. But their safety record is abysmal, and many accidents occur because of overcrowding or poor maintenance.
Last year, more than 800 people were killed when the Princess of the Stars ferry capsized during a typhoon. In the country's worst maritime disaster, more than 4,000 people were killed when a ferry collided with an oil tanker in 1987.