More specifically, they *are* randomly generated upon entering of an unpopulated deep space system. They are then persisted after that point. So, once an asteroid field is generated, it gets plopped into the database.
Any deepspace coordinate that is determined to not have an asteroid field is marked as such for 1 year(I do believe). Once that year is up, there's a random chance that an asteroid field can spawn there again.