It shattered the buses and set cars on fire, leaving a trail of bodies including children, as the convoy waited in rebel territory near Aleppo.
There were fears of revenge attacks on a convoy of evacuees from rebel-held towns, being moved under a deal.
But reports suggested both convoys have resumed their journey or would do soon.
The "Four Towns" deal brokered by Iran and Qatar was meant to relieve suffering in besieged towns - Foah and Kefraya in the north-west which were under government control, and rebel-held Madaya and Zabadani near Damascus.
About 20,000 besieged people would be taken out in all. According to AFP news agency, up to 5000 government evacuees and 2200 from rebel towns had been stranded in transit on Sunday.
Last month, the UN described the situation in the besieged towns as "catastrophic". More than 64,000 civilians are "trapped in a cycle of daily violence and deprivation", it said.
The bomb reportedly went off at Rashidin, west of government-held Aleppo, around 3.30pm (local time) at the checkpoint where the handover was due to take place.
Syrian state media reported 39 deaths while other sources spoke of between 43 and 60 deaths. Hundreds of people were said to have been injured.
A suicide bomber driving a van supposedly carrying aid supplies blew it up near the coaches, the UK-based Syrian Observatory for Human Rights reported.
Images from the scene show bodies lying on the ground outside blackened and devastated vehicles.
"There are dead people everywhere. You can see tens of burnt out cars, bodies everywhere," said an unnamed eyewitness, describing the carnage for Syria's Qasioun news agency.
"Emergency staff and opposition factions are evacuating the wounded and the martyrs [the dead]."
An AFP correspondent west of Aleppo, speaking before the explosion, said the coaches carrying government evacuees had not moved in 30 hours.
The Syrian Arab Red Crescent was distributing food and water to the waiting passengers, who include 3700 civilians, the agency said.
Rebels say Damascus breached the terms of the deal, accusing the government of trying to bring out more loyalist fighters than agreed.