Preheat oven to 350° and grease a 9x13 baking pan with nonstick spray. I also recommend adding a piece of parchment paper on the bottom to ensure the cake doesn't stick.
At this point, you should also make the flax eggs: Stir 3 tablespoons of ground flaxseed with 7 tablespoons of water together in a small bowl and set aside for 5-10 minutes.
In a medium bowl, stir the flour, cinnamon, baking soda, baking powder, and salt together.
In a large bowl, whisk the milk, melted coconut oil (make sure it's at room temperature), brown sugar, cane sugar, apple cider vinegar, and vanilla together, then add the flax eggs. Pour the dry ingredients into the wet, then stir to combine, being careful not to over-mix. Last, stir in the apples (and walnuts, if using).
Pour the batter into the prepared baking dish, using a rubber spatula or the back of a spoon to smooth it out. Bake the cake for 30 minutes, or until a toothpick comes out clean. Leave the cake in the pan for 10 minutes, then carefully run a knife along the edges and invert the cake onto a cooling rack. Wait for the cake to cool before icing it.
For the icing: use a hand or stand mixer to whisk the butter, maple syrup and milk together, then add the powdered sugar and cinnamon and whisk until smooth.
Use a large spoon to dollop the icing over the cake, then smooth it out. Cut the cake into 12 slices and enjoy!