@hicker unless you have access to the source code of the game there is no way to tell if it's 100% random, pre-set, or whatever. But I guess there is more chance to get certain cars then other cars, not saying that it's rigged per se.
Imagine this:
100% random situation:
The game has a list of all cars, each car is only listed once in this list, a script first randomly picks car 1, then removes car 1 from the list, then it randomly picks car 2, and removes car 2 from the list, and so on till it has 4 cars. Then it randomly chooses one of these cars and determines that that's the gift car. It saves this information so when you turn the game off, it can recall it once you start the game again. With that information the game presents you with an animation unveiling the predetermined car as the gift car.
- In this case all the cars have 100% the same chance to be the gift car.
A bit less random situation, and I think more likely to be the situation in the game, but it's still random:
The game has a list of all cars, but the regular cars are listed multiple times, and others like the expensive ones are listed only once, in this case the chances that you get an expensive car are less.
Think of it as a bingo number ball rotatory thing with all those numbers, the numbers on the balls range from 1-99 but imagine 1000 balls in the thing, that means that a lot of those numbers are duplicates, but imagine that there's only one number 99 ball in there, and that that ball might represent a 20 million credit car...
Now stop complaining that you haven't yet won a 20 million car yet, one day you might, or not, just depends on how lucky you are.