Let us look at these three sentences:
1. “Can he speak to her?”
2. “May he speak to her?”
3. “Will he speak to her?”
All of the above are correct but convey different shades of meaning. ‘Can’ refers to ability. ‘May’ expresses permission, possibility or contingency. ‘Will’ refers to willingness in this context.
The last sentence is clearly asking whether he is willing to speak to her, while the second one is seeking permission for him to speak to her. ‘Can he speak to her?’ is asking whether he has the ability to speak to her. But in modern English, ‘Can’ may be used in place of ‘May’ and that is okay. So, the speaker may actually be seeking permission for him to speak to her when she says ‘Can he speak to her?’
But you can continue to use ‘May’ in speech and writing, to preserve the difference in meaning and to avoid ambiguity.