It has nothing to do with age. It has to do with not eating enough quality nutrients. I can ASSURE you, because I'm also a hard-gainer, that it's possible to gain weight. Start with GOMAD (1 gallon of WHOLE milk per day.) Then, add olive oil to everything that you can...even take shots of it. Eat bacon, eggs, steak, veggies, nuts, fruits, and wash them down with more milk.
If you start tracking what you actually eat, it'll surprise how much you're NOT actually eating. I had a pint of high-fat ice cream after my breakfast this morning...because if I don't just get silly with my food intake, I can't gain at all. My schedule has me training at some level for 5 days a week (4 of these are lifting), so that has to be taken into account.
If the mysterious (pizza eating) friend would throw about 8oz of Extra virgin olive oil on those pizzas, and chase it with about 24oz of whole milk, I would imagine that he would gain...just like everyone else who's had this issue. You aren't a special snowflake. If you want to be bigger, then lift heavy and eat more.