Peel and chop the onion finely. Remove the sausage meat from the skin and chop or break into small pieces. Cut the guanciale or pancetta into small cubes or lardons. If using fresh tomatoes, blanch them in boiling water, peel and cut into quarters.
Fry the onion in olive oil until it starts to become translucent. Then add the sausage meat and the guanciale/pancetta. When the guanciale and sausage has started to brown add the tomatoes/tomato passata. Simmer for 10-15 minutes. Add salt and pepper to taste.
While the sauce is cooking boil the water for the pasta. Add salt once it starts to boil and bring to the boil again. Cook the pasta al dente according to the instructions on the packet. When the pasta is ready, save a little of the cooking water and drain.
Beat the egg yolk with a fork and add pepper and a couple of tablespoons of pecorino, mix well.
Add the pasta to the pan with the sauce and sauté for a couple of minutes. Remove the pan from the heat or move the pasta and sauce to a serving bowl and add the egg yolks and cheese. Mix everything together well. Serve immediately with some more Pecorino and black pepper as required.