Bring a large pot of salted water to a boil for the pasta.
Heat olive oil in a large frying pan over medium heat. Add chorizo and cook, stirring often, until lightly browned and slightly crisp, about 5–6 minutes. Remove chorizo with a slotted spoon and set aside.
Cook bucatini in the boiling water according to package instructions, usually around 10 minutes. Drain pasta, reserving one cup of cooking water.
Add chopped onion, salt, and pepper to the frying pan with the leftover chorizo oil. Cook for 5 minutes, stirring often, until onion softens.
Stir in garlic, chili flakes, and tomato paste. Cook for 2 more minutes, stirring frequently.
Add the chopped tomatoes and chicken stock to the pan. Bring to a boil, then reduce heat and simmer for 5 minutes.
Return cooked chorizo to the pan along with the drained bucatini and grated Parmesan. Stir well and cook for an additional 2 minutes, adding reserved pasta water as needed to loosen the sauce.
Divide pasta among bowls and top with chopped parsley, extra grated Parmesan, and ground black pepper before serving.