Lee Gyeong-Og, the vice minister of security and public administration, told a press briefing in Seoul that he could only confirm the rescue of 161 people so far.
However, he added that commercial ships involved in the operation were understood to have rescued a significant number of people.
“The ferry is almost completely submerged,” Lee said, adding that a detachment of South Korean Navy SEALS were taking part in the rescue.
Lee had said there were no reports of casualties so far, but the coastguard later said one person had been killed.
“We have recovered one body from the ship so far,” a spokesman told AFP.
Photos broadcast on television showed the ship initially tilted over 45 degrees on the port side with helicopters flying overhead, and then fully capsized with only its stern visible.
Of the 450 passengers on board the ferry bound for the southern resort island of Jeju, 325 were students from a high school in Ansan, south of Seoul. The remainder of those on board were crew.
Coastguard officials said the crew sent out a distress signal at 9:00 am (0000 GMT) with passenger testimony suggesting it may have run aground.
“We heard a big thumping sound and the boat stopped,” one passenger told the YTN news channel by telephone.
The 6,825-tonne ferry, which had sailed out of the western port of Incheon on Tuesday evening, ran into trouble some 20 kilometres (13 miles) off the island of Byungpoong.