Working for a big company also gives you opportunities. Within the company itself you may have the opportunity to try various things in different roles, so you can find out what you enjoy doing best. If you work as a consultant, working for a big firm will open doors that most likely remain closed to you as a freelancer or in a small firm. In my experience, clients are much more willing to look past small "shortcomings" (i.e. lack of bullcrap certificates) and hire you, if you have a big company behind you. At the least that company will be willing and able to replace you if it turns out you suck at your job. Also, working for a big firm (especially as a consultant) gives you a great opportunity to build an extensive professional network. Lastly, a well known company name rarely hurts your resumé.
There are some downsides: as you said, the job might be much more constrained than you'd like. They will try to force you into a well defined role, and if they can't, be prepared to hear this at every annual appraisal: "What the hell are you, anyway?".
If you want to remain working at a large firm but also want to be a generalist, look and prepare for jobs where being a generalist is an asset, like solution or enterprise architect, or working as an "IT guy" in a small innovation or prototyping team. The last carries a bit of a risk: it's often hard to justify such teams in times of budget cuts.