Antonio Candela, the government's health commissioner for Palermo, said 159 people had been rescued, but the boat is believed to have been carrying as many as 500 people, the LaPresse news agency reported.
Nicolini said the ship had caught fire after those on board set off flares so it would be seen by passing ships.
The ship apparently then capsized, spilling the passengers into the sea near Conigli island.
Lampedusa is closer to Africa than the Italian mainland—a mere 70 miles (113 kilometers) off the coast of Tunisia—and is the frequent destination for smugglers' boats.