Honestly, I don't think either of you are being selfish. He is entitled to be honest about what he does or doesn't want and he is entitled to change his mind just as you are.
I was in a 14 year relationship from age 22 to 36 with a man 21 years older than me who i loved very much. He had 2 children from a previous marriage who weren't much younger than me and was clear from the beginning he didn't want more children - neither did I so no problem. We had a fabulous life and lifestyle with long haul holidays, a holiday home abroad, nice house etc.
Except that as my biological clock started ticking, things began to change and I just couldn't stop the feeling that I was going to hugely regret sacrificing being a mother for this man.
We did eventually split up and I ended up having a bit of a whirlwind romance with my now husband. I fell pregnant very early in the relationship and had my DD1 at age 37. I am now pregnant for the second time and will be 42 when she is born. I am so lucky, there were no guarantees it would happen at my age.
I don't have regrets, they are futile and I think everything happens as and when it is supposed to happen but I'm so pleased I found the courage to drag myself out of my comfort zone. Being a mother is the best thing that has ever happened to me and I love my little family so much.
You cannot give up this dream, this 'calling', you will regret it forever. At the same time, at 46, he is entitled to be honest and say he doesn't want anymore children or marriage. This doesn't mean you don't love each other or that either of you is a bad person, maybe the relationship has just run its course and it's time for you to be brave.
Good luck. It's not easy when you've been with someone for a long time from when you were still very young, it's all you've ever really known in adulthood. I can promise you one thing though...... you will never regret having children but you absolutely will regret it if you want them and don't at least try to have them before it's too late.