Actually, Teetime, surely, "can I help you?" is correct, as you wouldn't be in the shop if you didn't want the shop assistant to help you.
"May I help you" means "Will you permit me to help you?"
My father's standard reply to children who asked "Can I?" when they meant "May I?" was, "I'm sure you are physically capable of doing so, but if you are solicitating my permission, you mean May I?"
But I admit in the case of the phrase "Can I help you?" the distinction is unclear, and like you, I find "May I help you?" more polite.