The plane was carrying 34 Italians and a crew of five from Bari, in southeastern Italy, to the popular Tunisian resort island of Djerba when it encountered a "lack of engine power", according to Tuninter, the charter arm of the Tunisian airline that operated the flight.
Of the survivors, nine were in serious condition, said Captain Giuseppe Averna, an official with the sea division of Italian border police.
Palermo port officials said three people were also still missing.
Italian news agency Ansa said four rescue boats and naval helicopters had gone to the scene, 33km off Cape Gallo on the northern coast of Sicily, while on shore dozens of ambulances were on standby to ferry survivors to Palermo hospitals.
"The plane had engine problems and was trying to [emergency] land in Palermo but had to land in the sea," Nicoletta Tommessile, a spokeswoman for ENAV, Italy's air safety agency, said.
"The plane had engine problems and was trying to [emergency] land in Palermo [Sicily] but had to land in the sea"
spokeswoman for ENAV
She said the plane's crew contacted Rome airport tower officials at 3.24pm (1324 GMT) to report engine trouble and said it would have to land at Palermo's airport.
Sixteen minutes later, the crew told tower officials: "We're ditching in the sea," Tommessile said.
SKY TG24 TV said some of the survivors were spotted clinging to the wings as they awaited rescue by the coast guard.
Several bodies were found in the sea by rescue boats which rushed to the floating wreckage of the plane.
The twin-turboprop ATR-72 is part of a family of regional airliners built by a consortium of France's Aerospatiale and Italy's Aeritalia, now Alenia.