Preheat the oven to 350°F, and grease the bottom of a 9 x 13 inch baking pan.
In a large mixing bowl, stir together ¼ cup of water and the ground flaxseeds. Set this aside for at least five minutes, to allow the mixture to gel.
While the flax mixture sits, combine the remaining cup of water with the peanut butter and vegan butter in a small saucepan. Place the pot over medium heat and warm the mixture up while stirring. Remove the pot from heat once the butter and peanut butter have melted, then stir in the non-dairy milk and vanilla extract. Set this aside for now.
Whisk the flour, sugar, baking soda, and salt together in a large mixing bowl.
Grab an electric mixer. Add the peanut butter mixture to the bowl with the flax mixture, then begin adding the flour mixture, beating in about a third at a time with the mixer on low speed. Turn up the speed of the mixer to high and continue to mix the batter for another 30 seconds.
Pour the batter into the prepared baking pan, then place the pan into the oven and bake the cake for 35 to 40 minutes, until a toothpick inserted into the center comes out clean.
Place the cake on a cooling rack and let it cool completely.
Make the frosting when the cake has cooled. Beat the vegan butter, peanut butter, and vanilla together in a large mixing bowl, using an electric mixer at high speed. Once the ingredients are completely combined, begin beating in the powdered sugar, about a half cup at a time, until the frosting is fluffy and creamy.
Spread the frosting evenly over the cake.
Slice the cake, then serve.