In a food processor, add onion, celery, and carrot and puree until finely minced, scraping down sides of bowl as needed. Set aside.
In a Dutch oven or large saucepan, heat olive oil over medium heat. Add pancetta and chourico and cook until lightly browned, stirring occasionally, 5 to 10 minutes. Add in additional oil if needed until mixture is just browned. Using a slotted spoon, transfer mixture to a bowl and set aside.
If not enough fat/oil left in pan, add about 2 tablespoons olive oil. Add pureed vegetable mixture and cook until softened and mixture is lightly browned, about 10 minutes. Season with pepper. Add tomato paste and cook for another 1 or 2 minutes. Add pancetta/chourico mixture and any accumulated juices to pot and stir to combine.
Add wine to deglaze pan, scraping up browned bits on bottom of pot. Continue cooking until wine is mostly evaporated, 5 to 10 minutes. Add 2 cups stock and bay leaf and reduce heat to low. Simmer, uncovered, for 1½ hours, stirring every 10 to 15 minutes, until sauce has thickened. If liquid reduces before meat is tender, add an additional ½ cup stock and continue cooking. Add milk and continue cooking for another ½ hour. Discard bay leaf. Taste and adjust as desired. Keep sauce over low heat.
Meanwhile, bring a pot of salted water to a boil. Add pasta and cook for 2 to 3 minutes (for fresh) and 7 to 10 minutes (for dry). Reserve 1 cup of cooking liquid and then drain pasta. Transfer pasta to pot of sauce and add ¼ cup pasta water. Stir to combine. Cook for another 1 or 2 minutes, adding in additional pasta water if needed to reach desired consistency, like that of a sloppy joe. Transfer pasta and sauce to a large serving bowl, top with Parmigiano-Reggiano and serve warm.