Buy a small pot of Bicarbonate of Soda in your supermarket (in the baking section) or you can get it in a chemist's. It's not only for cooking, it's also a good general cleaner, disinfectant and deodoriser (it's what is recommended to clean the interior of your 'fridge, for example). It's quite cheap, and you just mix some in with warm water and wash your flask and cap in it - I leave mine to soak for a short while.