We use either may + have and might + have to show that something has possibly happened now or happened at some time in the past. (Learnenglish.britishcouncil.org)
What is the difference between the two answers this question? (Which one is correct?)
Question: Where has he gone?
Answer 1: Probably, he has gone to the canteen.
Answer 2: He may have gone to the canteen.