Yet another poll that needs a "both" option. It's contexual: "May I help you?" is better when one sees someone doing something that they seem to need help with (moving a piano, struggling with luggage); speculatively (as when a customer is approached by a shop assistant), "Can I help you?" is better, but both would be acceptable.
Nothing is gramaticlly wrong with either however the meanings of both are different. "Can I help you?" litterally mean "Do I possess the ability to help you?" where as "may I help you?" means "Would you allow me to help you?"
'Can' sounds more natural in spoken American English, which makes 'may' sound more polite.
They are both correct, but used in different circumstances.
Can - when you are unsure the person is in difficulties.
May - whether the person is in difficulties want any assistance
It is two different questions, one is asking permission, "May I?", and the other is asking if I have the ability to help you, "Can I?"
Can is WRONG but sounds natural "these days" in America. I Would choose a service that answered there phone the correct "may" over the more popular incorrect can.
Where I went to college in Cebu, Philippines, our Instructor keep saying that when we work at the Front Desk the proper Greeting is: How May I help you. .? I believe they were wrong. It should be : How Can I help you. . ? Very Nice to Hear... Sound real Perfect... Am I correct..?