Boris Johnson would deliver a 40-seat majority for the Conservatives if a general election was held with him as Prime Minister, a new survey has shown.