Preheat the oven to 375°F (190°C). Spread the eggplant slices on a baking sheet, brush with olive oil, and sprinkle with salt and pepper. Roast in the oven for 20 minutes, or until tender and lightly browned.
In a large skillet, heat 2 tablespoons of olive oil over medium heat. Add the onion and cook until soft and translucent, about 5 minutes. Add the ground lamb or beef and cook until browned, breaking it up into small pieces with a spoon.
Add the garlic, oregano, cinnamon, allspice, and nutmeg to the skillet and cook for 1-2 minutes, stirring constantly. Add the diced tomatoes and red wine (if using) and simmer for 15-20 minutes, or until the sauce has thickened. Season with salt and pepper to taste.
In a separate saucepan, melt the butter over medium heat. Whisk in the flour and cook for 1-2 minutes, stirring constantly. Gradually whisk in the milk and continue cooking, stirring constantly, until the sauce has thickened and is smooth. Add the nutmeg and season with salt and pepper to taste.
In a large baking dish, layer the roasted eggplant slices and the meat sauce, starting and ending with a layer of eggplant. Pour the béchamel sauce over the top and sprinkle with the grated Parmesan cheese.
Bake in the oven for 45-50 minutes, or until the top is golden brown and bubbling. Allow the moussaka to cool for 10-15 minutes before slicing and serving.