Is it legal to make emergency landing on roads?
In the USA, when an airplane is in the air, it is governed by Title 14 of the Code of Federal Regulations, also known as the Federal Aviation Regulations (FARs). FAR 91.3(b) gives the pilot in command authorization to deviate from any flight rule necessary to meet an emergency: if that pilot needs to land on a road to meet an emergency, it is certainly legal as far as the FAA is concerned.

In fact, for private flights in small airplanes, the FAA doesn't bother much at all about specifying where you choose to land. There are no regulations about it at all. 

The FAA's authority to regulate stops when the gear touches the ground, though. The road, or field, or waterway, or whatever you might be landing on usually belongs to someone or some government entity. Government entities often have laws against landing aircraft in certain places like roads or waterways, but just as often, they don't. It depends on which government. But in all cases I have ever seen, if such a regulation exists, so does an exception that starts, "except in cases of emergency...."