Warm the olive oil in a large pot over a low-medium heat. Gently fry the onions with a pinch of salt for 10-15 minutes or until soft, stirring occasionally. Add the allspice and stir to combine. Increase the heat to medium-high and add the lamb. Season with some salt and brown the lamb lightly on all sides then deglaze the pan with the wine. Add in the herbs and tomato passata. When the sauce comes to a simmer, reduce the heat to low, cover with a lid and cook for 2 1/2 to 3 hours or until the lamb is tender. If the sauce dries out too much, add a little water during the cooking. Season to taste.
Once the sauce is ready, cook the pasta in a large pot of generously salted water until al dente. Ladle enough of the sauce into the drained pasta to coat and top with plenty of grated pecorino. Serve the meat with a little sauce, topped with some fresh oregano leaves, as a second course with a fresh salad. Any left over sauce can be stored in the refrigerator for 3 days or frozen.
If you don’t have bone-in lamb shoulder, boneless would work well too, just be sure to keep the pieces quite large.