Until I had kids, I weighed under 100 lbs. Of course, this is probably not an option for your 15 yr old son!
Are there foods he enjoys? Foods he hates or is allergic to? Peanut butter and banana sammiches are pretty well liked by kids and are a relatively healthy snack. Fruits and nuts of all kinds should be pretty good (again, unless there is an allergy issue).
It's important when trying to gain weight to add to your diet foods that are high in protein. Some classic plant based protein examples are: peanut butter with whole wheat toast, or beans and rice.
All it takes to gain one pound a week is increase daily food intake by 500 calories. If you do that without increasing your activity level, in 7 days you will gain one pound.
Things to add to your food to gain weight:
*Put honey on the peanut butter sandwich, add a banana and 8 oz. of milk (that right there is over 500 calories).
*Put ganola on yogurt.
*Add cheese to sandwiches or vegetables.
*Avacodos are real good for you and high in calories. He could mash up a whole avacado and put it on toast with mayo, salt and pepper.
Weight gain for people who are underweight is much more difficult than for people who are overweight. An underweight person may have a higher metabolism, be taller, fewer fat cells, "lean genes" or just not care about food.
Try out this Healthy Body Calculator http://www.dietitian.com/ibw/ibw.html
to find out how many calories he needs to eat. Remember to select "gain 1 or 2 pounds per week". Next, he will need to keep track of all the food and beverages he eats to make sure he is eating enough calories. A meal plan based on the Food Guide Pyramid would provide you with about 2000 calories as a base (I think) and you could increase the number of servings of each group to get more calories. He should be eating 3 meals per day and 3 or 4 snacks.
He might also start an exercise program that includes weight training. After all, he doesn't want to just put on bodyfat, he'll probably want to put on more muscle.
Let's see what else we can come up with or find for you.