Republicans have lead in generic ballot three weeks before midterms