I think you're asking whether you can give an initial value to an automatically-implemented property. The answer to that question is "no".
You could write a manual property though:
private List products = new List();
public List Products
{
    get { return products; }
    set { this.products = value; }
}
Do you actually need the setter at all? Do you need clients to be able to replace the variable value with another list? You may find that you only need a read-only property, in which case you could write:
private readonly List products = new List();
public IList Products { get { return products; } }
Note that here you can still use a collection initializer, e.g.
Foo foo = new Foo
{
    Products = { new Product("foo"), new Product("bar") }
};