These buy-rated stocks are expected to generate loads of cash and are cheap, Barclays says