"He is stunned by her beauty" is how a native speaker would normally say that. However, if you said, "He is stunned at her beauty," you would still be understood and the meaning would not change. In short, "by" is the right word choice, but if you did it the other way it would have no ill effect on the meaning.