Roast the poblano over a gas burner (or as close to a broiler as you can get), until it is blackened and blistered on all sides. Cool until handleable, then rub off the charred skin, tear open and pull out the seed pod, then quickly rinse to remove any stray seeds or bits of charred skin. But in half lengthwise, then cut the half into ¼-inch strips.
In a heavy, medium-size (about 9 inch) skillet, heat the oil or fat over medium. When hot, add the onion and mushrooms. Cook, stirring frequently, until the onion is soft and browning, about 8 minutes. In a blender or food processor, process the tomatoes with their juice to a coarse puree. Add to the pan along with the epazote and the poblano strips, and continue cooking for several minutes until the mixture is reduced and so thick that you can easily see the bottom of the pan as you stir it. Stir in 1 ½ cups water and simmer gently over low heat for 10 minutes.
One at a time, crack the eggs into different quadrants of the pan, then gently spoon the sauce around the whites (leave the yolks exposed). Cover the pan (I don’t have a lid for my skillet, so I use a cookie sheet) and cook for 7 or 8 minutes over medium-low heat, keeping the sauce at a bare simmer), until the eggs are poached to your liking—usually about 7 or 8 minutes.
Strew the pan with goat or fresco cheese or dollop with Greek yogurt. Sprinkle with coarse-ground black pepper and torn or chopped herb leaves and you’re ready to offer this beauty at the table.