You have a big problem. The first thing you want to do is to rule out mental and physical illness. Medical conditions of various kinds can affect a person's sex drive and performance. Likewise, people who are depressed often feel tired and without sexual interest. Similarly, if a person is very stressed, he/she will find it difficult to become aroused and/or find it hard to achieve orgasm.
Since you said that he is able to become erect, I would suspect that there is nothing physically or mentally wrong with him. So what is the problem? I would suspect that something isn't working for him in the relationship.
If he has a passive aggressive personality disorder, then he will be the type of person to not discuss his anger directly, but rather to get even by withholding what you want, namely that he initiate sex and hold off before orgasming.
I would confront him directly and see if you can get him to start talking about what is bothering him. To get the ball rolling, you might say,'You have been avoiding sex with me for some time. In my experience, when a person doesn't feel like giving to his girlfriend, it's because he's mad at her. I would like to know what it is that I am doing to make you mad at me.'
The goal of the discussion is to get him to talk to you. Don't be defensive; don't justify yourself. Listen, understand, take responsibility for your actions or inactions, and agree to do what you can to change whatever isn't working for him.
If you can get any anger out of him, you will find a great upswing in the sex department. If you can't get him talking, then go to a couples therapist together.