As previous posters are mentioned, generator acts similarly to iterator with two significant differences: generators get exhausted, and you can't index one.
I quickly looked up the documentation, on this page -- https://radimrehurek.com/gensim/models/word2vec.html
The documentation states that
gensim.models.word2vec.Word2Vec(sentences=None, size=100, alpha=0.025, window=5, min_count=5, max_vocab_size=None, sample=0, seed=1, workers=1, min_alpha=0.0001, sg=1, hs=1, negative=0, cbow_mean=0, hashfxn=, iter=1, null_word=0, trim_rule=None, sorted_vocab=1)
...
Initialize the model from an iterable of sentences. Each sentence is a list of words (unicode strings) that will be used for training.
I'm venture to guess that the logic inside of the function inherently requires one or more list properties such as item indexing, there might be an explicit assert statement or if statement that raises an error.
A simple hack that can solve your problem is turning your generator into list comprehension. Your program is going to sustain CPU performance penalty and will increase its memory usage, but this should at least make the code work.
my_iterator = [x for x in generator_obj]