Preheat the oven to 350°F. Oil a large, shallow casserole and set aside.
Halve the chicken breasts and pound the pieces into large, thin cutlets. Cover with plastic wrap and refrigerate.
Melt 2 tablespoons of the butter in a large skillet over medium heat, add the onion and mushrooms, stir, and sauté for 5 minutes, or until soft. Add the spinach, garlic, and salt and pepper, to taste, and stir. Cover and cook for 4 to 5 minutes. Uncover and cook for 1 to 2 minutes, or until the excess liquid evaporates.
In a small bowl, mix together the ricotta cheese, Parmesan cheese, and basil. Add salt and pepper, to taste, mix, and set aside.
Working with one piece of chicken at a time, smear one-quarter of the cheese mixture over the breast, then mound on it one-quarter each of the onion–mushroom mixture and the feta cheese. Fold one side of the chicken over the filling, then roll the chicken into a neat bundle. Brush with the beaten egg and roll in the bread crumbs to coat. Place in the oiled casserole, seam side down, and insert a toothpick through the chicken to secure it. Repeat with the remaining chicken.
Melt the remaining 4 tablespoons of butter and spoon over the chicken. Bake for 35 to 40 minutes, or until the chicken is firm, juicy, and no longer pink.
Melt the butter in a small saucepan over medium-low heat; add the garlic. Cook for 1 to 2 minutes, stirring constantly, until the garlic is very lightly browned. Remove from the heat and stir in the lemon juice, parsley, and pepper, to taste. Serve over the sliced chicken.