In natural conversations there isn't much of a difference! "May I have..." is more polite, however most people will just say "Can I get..." Both mean asking for something, and have the same meaning :) "Can I get..." is more natural in almost any case. But if you're in a more formal setting, use "May I get..."
1. Can I get a glass of water?
2. May I have a glass of water?