If a Wizard takes the Magic Initiate feat (PHB, p. 168), can he select 2 cantrips and a level 1 spell from the Wizard list? Or does he have to take them from a different class?
You can take Magic Initiate in your current class
This has been clarified in the Sage Advice Compendium:
If you’re a spellcaster, can you pick your own class when you gain the Magic Initiate feat? Yes, the feat doesn’t say you can’t. For example, if you’re a wizard and gain the Magic Initiate feat, you can choose wizard and thereby learn two more wizard cantrips and another 1st-level wizard spell.
The Sage Advice Compendium also points out the major advantage to choosing to do this: the ability to cast your Magic Initiate spells with your spell slots.
If you have spell slots, can you use them to cast the 1st level spell you learn with the Magic Initiate feat? Yes, but only if the class you pick for the feat is one of your classes.
Yes, a wizard can take the Magic Initiate feat and select spells from the Wizard list.
The Magic Initiate feat gives you these classes to choose from:
bard, cleric, druid, sorcerer, warlock, or wizard.
There is no wording which excludes you from taking a class you already have. This is just choosing which spell list you can choose from.
Furthermore, it specifies the number of spells and how they are cast and regained:
You learn two cantrips of your choice from that class's spell list.In addition, choose one 1st-level spell from that same list. You learn that spell and can cast it at its lowest level. Once you cast it, you must finish a long rest before you can cast it again using this feat.
Note the wording: The PHB seems to imply you cast and recover it using the feat, not your class' spellcasting feature. I.e., there are specific restrictions on how these spells are cast and regained. In most cases this means that the spells gained from the feat are "on the side". They are not part of your class and do not use its restrictions. However, a Sage Advice ruling has clarified that if the spells are in your class, they count as spells known and you can use your slots to cast them. From this we can infer without question that you can take the MI feat to add spells from your own class.
If you have spell slots, can you use them to cast the 1st level spell you learn with the Magic Initiate feat? Yes, but only if the class you pick for the feat is one of your classes:
There is no restriction on Wizards taking the Magic Initiate feat and taking additional Wizard spells
If there were such a restriction, the feat would say so.
Choose a class: bard, cleric, druid, sorcerer, warlock, or wizard. You learn two cantrips of your choice from that class's spell list.
In addition, choose one 1st-level spell from that same list. You learn that spell and can cast it at its lowest level. Once you cast it, you must finish a long rest before you can cast it again using this feat.
Your spellcasting ability for these spells depends on the class you chose: Charisma for bard, sorcerer, or warlock; Wisdom for cleric or druid: or Intelligence for wizard.
—Magic Initiate, Player's Handbook, pg. 168
Having said that, there's a few reasons why that's probably inadvisable. The biggest being the fact that Wizards aren't strictly limited to the spells that they're given by default at each level up, meaning the one extra spell you gain is relatively immaterial.
So by choosing this feat, the only real thing you're gaining is additional Wizard cantrips. If you really want the cantrips and don't want to dip Sorcerer for the 4 free cantrips, then I guess this is a viable solution. But in a general case, I'd say the benefits of a Wizard taking Magic Initiate for additional Wizard spells is relatively low.