By default WordPress twitter embedded tweets have a fixed width of 550px which is added to the inline style with an !important declaration to stop you overriding it. This breaks responsive layouts and causes horizontal scrolling as soon as your site is viewed at less than 550px wide.
Add the following to your themes functions.php file:
This removes the hardcoded 550px width from the generated output. If you've got existing embedded tweets you'll need to re-save the posts to regenerate the embed code.
Thanks to Otto for the tip.