Place a small saute pan over medium-high heat. Add the olive oil followed by the onions and 2 of the minced garlic cloves with a pinch of salt. Cook, stirring occasionally until the onions are translucent, 5 minutes. Remove to a plate to cool slightly.
In the meantime, mix together the chicken, Worcestershire, breadcrumbs, parsley, oregano, egg and Parmesan in a large bowl. Season well with salt and pepper, then mix in the cooled onions and garlic. Scoop into 12 meatballs then set aside. This can be done a day ahead of time.
Dredge the meatballs in the flour, shaking off any excess.
Heat a large cast-iron enamel skillet over medium-high heat and add a drizzle of olive oil. Add the meatballs and cook until golden brown and crisp, 2 minutes, then flip and continue to brown on the other side until golden brown and crisp, 2 minutes. Remove the meatballs from the skillet and set aside.
To the same skillet, add the mushrooms and remaining 2 minced garlic cloves with a little more olive oil. Cook until the mushrooms soften and begin to crisp, 3 to 5 minutes, then season with salt and pepper. Add the marsala, scraping any brown bits off the bottom of the pan then add the chicken stock and the meatballs. Reduce the liquid by about half and allow the meatballs to cook through, 15 to 20 minutes, then stir in the butter and parsley. Serve.