Dinosaurs might have survived if the asteroid that wiped them out had hit the Earth a few million years later or earlier, a new study suggests.