Assigning new word by creating a new column when finding match
You are not getting the results you're expecting because you're explicitly comparing the value in the Answer column to 'Coca-Cola' (i.e x == 'Coca-Cola') but the value in that column is (I'm assuming) a list or a string. In either case comparing it to 'Coca-Cola' would result in False.
What you need to do is change your condition to check in 'Coca-Cola' appears anywhere in the list or string.
Here's one way of achieving this (I'm assuming the Answer column contains lists):

import pandas as pd

data = {
          "ID": ["101005", "026458", "045987"], 
          "Question": ["what brands did you purchase the past 5 months", 
                       "what brands did you purchase the past 5 months",
                       "what brands did you purchase the past 5 months "],
          "Answer": [["Coca-Cola" ,"Pepsi" ,"fanta"], [None], ["Coca-Cola"]]
}
deux = pd.DataFrame(data)
deux['Buyer_Type'] = deux['Answer'].apply(lambda x: 'existing buyer' if 'Coca-Cola' in x else 'new buyer')