I may be missing something here, but this is my understanding below.
You're mixing formatted (>>) and unformatted (getline()) input stream extraction functions. The formatted extraction ignores the newline, space, etc characters on the input stream, while the unformatted extraction does not.
So when you're done with your first car, you've finished your user input with a formatted extraction (cin >> car.milage;), which leaves the '\n' character on the cin.
You start your enquiries with a formatted input extraction (getline(cin, car.model);), which will read the leftover '\n' and be happy with it effectively setting your car model to an empty string.
To combat this, ideally, one would check before calling getline() if cin is empty then call ignore(). However, I didn't find something that quite does this, and calling every time will not achieve the desired behaviour. If you find such a check, please use that instead.
As a second-best scenario, I chose to remove anything left on the standard input after the last formatted extraction and now your code seems to work fine:
void get(Car_Type & car)
{
cout << "Model: ";
getline(cin, car.model);
cout << "Year: ";
cin >> car.year;
cout << "Milage: ";
cin >> car.milage;
cout << endl;
cin.ignore(numeric_limits<streamsize>::max(), '\n');
}